#lang racket

(define ObjektArt_Figur 0)
(define ObjektArt_Waffe 1)
(define ObjektArt_Zimmer 2)


(define Oberst_Von_GatowStr "Oberst von Gatow")
(define Professor_BloomStr "Professor Bloom")
(define Reverend_GruenStr "Reverend Gruen")
(define Baronin_Von_PorzStr "Baronin von Porz")
(define Fraeulein_GloriaStr "Fraulein Gloria")
(define Frau_WeissStr "Frau Weiss")

(define Oberst_Von_Gatow 0)
(define Professor_Bloom 1)
(define Reverend_Gruen 2)
(define Baronin_Von_Porz 3)
(define Fraeulein_Gloria 4)
(define Frau_Weiss 5)

(define FigurToString
	(lambda (x)
		(cond 
			((= x Oberst_Von_Gatow) Oberst_Von_GatowStr)
			((= x Professor_Bloom) Professor_BloomStr)
			((= x Reverend_Gruen) Reverend_GruenStr)
			((= x Baronin_Von_Porz) Baronin_Von_PorzStr)
			((= x Fraeulein_Gloria) Fraeulein_GloriaStr)
			((= x Frau_Weiss) Frau_WeissStr)
			(else (error "Figur gibt es nicht"))
		)
	)
)


(define PistoleStr "Pistole")
(define DolchStr "Dolch")
(define SeilStr "Seil")
(define KerzenleuchterStr "Kerzenleuchter")
(define RohrzangeStr "Rohrzange")
(define HeizungsrohrStr "Heizungsrohr")

(define Pistole 0)
(define Dolch 1)
(define Seil 2)
(define Kerzenleuchter 3)
(define Rohrzange 4)
(define Heizungsrohr 5)

(define WaffeToString
	(lambda (x)
		(cond 
			((= x Pistole) PistoleStr)
			((= x Dolch) DolchStr)
			((= x Seil) SeilStr)
			((= x Kerzenleuchter) KerzenleuchterStr)
			((= x Rohrzange) RohrzangeStr)
			((= x Heizungsrohr) HeizungsrohrStr)
			(else (error "Waffe gibt es nicht"))
		)
	)
)


(define KuecheStr "Kueche")
(define MusikzimmerStr "Musikzimmer")
(define WintergartenStr "Wintergarten")
(define BillardzimmerStr "Billardzimmer")
(define BibliothekStr "Bibliothek")
(define ArbeitszimmerStr "Arbeitszimmer")
(define EingangshalleStr "Eingangshalle")
(define SalonStr "Salon")
(define SpeisezimmerStr "Speisezimmer")

(define Kueche 0)
(define Musikzimmer 1)
(define Wintergarten 2)
(define Billardzimmer 3)
(define Bibliothek 4)
(define Arbeitszimmer 5) 
(define Eingangshalle 6)
(define Salon 7)
(define Speisezimmer 8)

(define ZimmerToString
	(lambda (x)
		(cond 
			((= x Kueche) KuecheStr)
			((= x Musikzimmer) MusikzimmerStr)
			((= x Wintergarten) WintergartenStr)
			((= x Billardzimmer) BillardzimmerStr)
			((= x Bibliothek) BibliothekStr)
			((= x Arbeitszimmer) ArbeitszimmerStr)
			((= x Eingangshalle) EingangshalleStr)
			((= x Salon) SalonStr)
			((= x Speisezimmer) SpeisezimmerStr)
			(else (error "Zimmer gibt es nicht"))
		)
	)
)

